package com.lazily.string_;


/**
 * @Author:  GZQ
 * @date:  2025/3/8 19:47
 * @description: 两种创建 String 对象的区别 -- 练习题1
 */

public class StringExercise01 {
	// 程序入口
	public static void main(String[] args) {
		/*
		两种方式：
			方式一:
			直接赋值 String s="lyy";
			方式二
			调用构造器 String s2 = new String("lyy");
		区别：
			方式一:先从常量池查看是否有"lyy"数据空间，如果有，直接指向;如果
			没有则重新创建，然后指向。s最终指向的是常量池的空间地址。
			方式二:先在堆中创建空间，里面维护了value属性，指向常量池的lyy空间
			如果常量池没有"lyy"，重新创建，如果有，直接通过value指向。最终指向
			的是堆中的空间地址。
		 */
		String a = "abc";
		String b = "abc";
		System.out.println(a.equals(b)); // T
		System.out.println(a==b); // T
	}
}
